﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Bastanteo.Negocio;
using Bastanteo.Persistencia.ADO;
using Bastanteo.Domain;
 

namespace Bastanteo.Negocio
{
    public class CargoBL
    {
        CargoDAO CargoDao = new CargoDAO();

        public Cargo RegistrarCargo(int CargoId, string CargoDescripcion)
        {

            Cargo _cargo = null;

            if ( CargoDescripcion == null)
            {

                throw new DatosInsuficientesException("Algunos datos están vacíos");

            }


            if (CargoDao.Obtener(CargoId) != null)
            {
                throw new EntidadRepetidaException("Ya existe un Cargo registrado con el mismo Id");
            }

            _cargo.CargoId = CargoId;
            _cargo.CargoDescripcion = CargoDescripcion;


            return CargoDao.Crear(_cargo);
        }



        public ICollection<Cargo> ObtenerTodosCargos()
        {

            ICollection<Cargo> _cargos = null;

            _cargos = CargoDao.Listar();

            return _cargos;

        }




        public ICollection<Cargo> ObtenerPorDescripcion(string CargoDescripcion)
        {

            ICollection<Cargo> _cargos = null ;

            if (CargoDescripcion == null)
            {
                throw new DatosInsuficientesException("Tiene que ingresar la descripcion del Cargo para poder buscar");
            }

            foreach (Cargo item in CargoDao.Listar())
            {
                if (item.CargoDescripcion.Contains( CargoDescripcion.Trim()))
                {
                    _cargos.Add(item);
                }
            }

            return _cargos;

        }
    }
}